home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 001-025 / scopedisk4 / patch / dfindone.c < prev    next >
C/C++ Source or Header  |  1995-03-18  |  731b  |  33 lines

  1. #ifdef AMIGA
  2. #include <dos.h>
  3. #include <exec/memory.h>
  4. #include <proto/exec.h>
  5. #include <proto/dos.h>
  6.  
  7. /* Behaves almost like the Lattice dfind function, but dfindOne will not
  8.  * keep a lock.
  9.  */
  10.  
  11. int dfindOne(info, name, attr)
  12. struct FILEINFO *info;
  13. char *name;
  14. int attr;
  15. {
  16.     BPTR lock;
  17.     struct FILEINFO *tmpInfo;
  18.     int retVal;
  19.  
  20.     if(!(lock = Lock(name, ACCESS_READ)))
  21.     return(-1);
  22.     tmpInfo = (struct FILEINFO *) AllocMem(sizeof(*tmpInfo), MEMF_CLEAR);
  23.     if(retVal = Examine(lock, tmpInfo))
  24.     movmem((char *) tmpInfo, (char *) info, sizeof(*tmpInfo));
  25.     FreeMem((char *) tmpInfo, sizeof(*tmpInfo));
  26.     UnLock(lock);
  27.     if(retVal && (attr || info->fib_DirEntryType < 0))
  28.     return(0);
  29.     else
  30.     return(-1);
  31. }
  32. #endif
  33.